package util;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

public class MyRedisUtils {
    private static JedisPool jedisPool = null;

    public static Jedis getJedisFromPool() {
        if(jedisPool == null) {
            //创建连接池对象
            //连接池配置
            JedisPoolConfig jedisPoolConfig = new JedisPoolConfig();
            jedisPoolConfig.setMaxTotal(100); //最大连接数
            jedisPoolConfig.setMaxIdle(20) ;//最大空闲
            jedisPoolConfig.setMinIdle(20) ;//最小空闲
            jedisPoolConfig.setBlockWhenExhausted(true) ;//忙碌时是否等待
            jedisPoolConfig.setMaxWaitMillis(5000); //忙碌时等待时长 毫秒
            jedisPoolConfig.setTestOnBorrow(true); //每次获得连接的进行测试
            String host = MyPropsUtils.apply(MyConfig.REDIS_HOST);
            String port = MyPropsUtils.apply(MyConfig.REDIS_PORT);
            jedisPool = new JedisPool(jedisPoolConfig,host,Integer.valueOf(port));
        }
        return  jedisPool.getResource();
    }
}
